package org.czl.gh;

import java.util.Arrays;

public class q2 {
    public static void main(String[] args) {
        //[-2,-1,-3,-6,4]©leetcode
        System.out.println(getLargestOutlier(new int[]{-2, -1, -3, -6, 4}));
    }
    //不要异常值 数组和就是2倍特殊值
    public static int getLargestOutlier(int[] nums) {
        int n = nums.length;
        Arrays.sort(nums);
        int ma = nums[n - 1];
        int sum = 0;
        for(int i = 0; i < n; i++){
            sum += nums[i];
        }
        for(int i = n - 2; i >= 0; i--){
            if((sum - nums[i]) / 2 == ma){
                return nums[i];
            }
        }

        int ma2 = nums[n - 2];
        for(int i = n - 1; i >= 0; i--){
            if(i == n - 2)continue;
            if((sum - nums[i]) / 2 == ma2){
                return nums[i];
            }
        }
        int ma3 = nums[0];
        int ma4 = nums[1];
        for(int i = 1; i < n; i++){
            if((sum - nums[i]) / 2 == ma3){
                return nums[i];
            }
        }
        for(int i = n - 1; i >=  0; i--){
            if(i == 1)continue;
            if((sum - nums[i]) / 2 == ma4){
                return nums[i];
            }
        }
        return -1;
    }
}
